/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package suac.dependente;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author acer
 */
@Entity
@Table(name="dependente")
public class Dependente implements Serializable {

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 11 * hash + this.idDependete;
        hash = 11 * hash + Objects.hashCode(this.nome);
        hash = 11 * hash + (int) (this.cpf ^ (this.cpf >>> 32));
        hash = 11 * hash + Objects.hashCode(this.rg);
        hash = 11 * hash + this.idade;
        hash = 11 * hash + Objects.hashCode(this.dependente);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Dependente other = (Dependente) obj;
        if (this.idDependete != other.idDependete) {
            return false;
        }
        if (!Objects.equals(this.nome, other.nome)) {
            return false;
        }
        if (this.cpf != other.cpf) {
            return false;
        }
        if (!Objects.equals(this.rg, other.rg)) {
            return false;
        }
        if (this.idade != other.idade) {
            return false;
        }
        if (!Objects.equals(this.dependente, other.dependente)) {
            return false;
        }
        return true;
    }
    
    
    @Id // chave primária
    @GeneratedValue // campo auto incremento
    private short idDependete;

    @Column(nullable=false, length=100)
    private String nome;
    
    @Column(length = 12, nullable = false)
    private long cpf;
    
    @Column(length = 16, nullable = false)
    private String rg;
    
    @Column(length = 2, nullable = false)
    private short idade;
    
    @ManyToOne
    @JoinColumn(name="id_pessoaref")
    private Dependente dependente;   

    public short getIdDependete() {
        return idDependete;
    }

    public void setIdDependete(short idDependete) {
        this.idDependete = idDependete;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public long getCpf() {
        return cpf;
    }

    public void setCpf(long cpf) {
        this.cpf = cpf;
    }

    public Dependente getDependete() {
        return getDependente();
    }

    public void setDependete(Dependente dependete) {
        this.setDependente(dependete);
    }

    public short getIdade() {
        return idade;
    }

    public void setIdade(short idade) {
        this.idade = idade;
    }

    public Dependente getDependente() {
        return dependente;
    }

    public void setDependente(Dependente dependente) {
        this.dependente = dependente;
    }    
    private static final long serialVersionUID = 1542738032902489647L;
}